package com.aos.dto.parameters;

import io.swagger.annotations.ApiImplicitParam;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

/**
 * @ClassName SynchroUserParameter
 * @Description:TODO
 * @Author wumingwang
 * @Date 2018/9/19 14:03
 * @Version 1.0
 */
@Data
public class SynchroUserParameter {


    /**父级账户登录名*/
    private String parentUsername;

    /**登陆账号|用户名*/
    @NotNull(message="账号不能为空")
    @Size(min=1,max=50,message="账号长度必须在1~50位")
    private String username;

    /**登陆密码或者密码标识(比如密码md5)*/
    private String password;

    /**用户名字*/
    @NotNull(message="用户名称不能为空")
    @Size(min=1,max=20,message="用户名称长度必须在1~50位")
    private String name;

    /**用户电子邮箱*/
    @Size(max=50,message="邮箱不能超过50位")
    @Pattern(regexp = "^$|^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.[a-zA-Z0-9]{2,6}$",message="邮箱不合法")
    private String email;

    /**手机号*/
    @Size(max=20,message="手机号码不能超过20位")
    private String mobile;

    /**性别【男:1;女:2;未知:3】*/
    @Pattern(regexp = "^$|^\\d{1}$",message="性别只能是1位数字")
    private String sex;

    /**应用code*/
    @NotNull(message="应用code不能为空")
    private String appCode;

    /**用户所在组织(公司、驾校、班级等)信息*/
    private String group;

    /**备注*/
    private String comment;

    /**用户状态【1:可用 默认；2不可用】;可用用户返回权限，不可用用户不返回权限*/
    private String state;

    /**同步类型（新增：insert，更新：update，删除：delete）*/
    @NotNull(message="数据处理类型不能为空")
    private String dataType;

    /**旧用户名，更新时需要*/
    private String oldUsername;

    /**权限数组*/
    private Long[] roleIds;
}
